{
 "cells": [
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:41:01.944535Z",
     "start_time": "2019-03-12T02:40:51.207655Z"
    }
   },
   "outputs": [],
   "source": [
    "\"\"\"\n",
    "为pre-A进行数据的准备：\n",
    "\n",
    "1.选择特征；\n",
    "2.把稀疏的类别型特征设为other\n",
    "3.对数据进行编码\n",
    "    \n",
    "\"\"\"\n",
    "\n",
    "##==================== 导入必要的工具包 ====================##\n",
    "import pandas as pd\n",
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "from sklearn.preprocessing import LabelEncoder\n",
    "#from sklearn.preprocessing import OneHotEncoder\n",
    "from dummyPy import OneHotEncoder\n",
    "import random\n",
    "\n",
    "import pickle  # to store temporary variable\n",
    "\n",
    "import gc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:41:01.962479Z",
     "start_time": "2019-03-12T02:41:01.946527Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "243"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##==================== 数据路径 ====================##\n",
    "## 原始数据\n",
    "fp_train = \"group_train.csv\"\n",
    "fp_test  = \"group_test.csv\"\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "## 选取的特征后，重组数据 (FFM 所需要的)\n",
    "\n",
    "fp_train_f = \"feature_engineering/train_f.csv\"\n",
    "fp_test_f  = \"feature_engineering/test_f.csv\"\n",
    "fp_col_counts = \"feature_engineering/col_counts.csv\"\n",
    "\n",
    "## 存储 label encoder 和one-hot encoding数据\n",
    "fp_lb_enc = \"feature_engineering/lb_enc\"\n",
    "fp_oh_enc = \"feature_engineering/oh_enc\"\n",
    "\n",
    "## 子数据集\n",
    "fp_sub_train_f = \"feature_engineering/sub_train_f.csv\"\n",
    "fp_sub_test_f = \"feature_engineering/sub_test_f.csv\"\n",
    "\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:41:04.671715Z",
     "start_time": "2019-03-12T02:41:04.580956Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "7"
      ]
     },
     "execution_count": 14,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "##==================== 数据预处理 ====================##\n",
    "## 所要选取的特征\n",
    "'''features are used\n",
    "    C1:           int,     1001, 1002, ...\n",
    "    banner_pos:   int,     0,1,2,3,...\n",
    "    site_domain:  object,  large set of object variables \n",
    "    site_id:      object,  large set of object variables \n",
    "    site_category:object,  large set of object variables \n",
    "    app_id:       object,  large set of object variables \n",
    "    app_category: object,  small set of object variables\n",
    "    device_type:  int,     0,1,2,3,4\n",
    "    device_conn_type:int,  0,1,2,3\n",
    "    C14:          int,     small set of int variables\n",
    "    data :\n",
    "    time_period : \n",
    "    weekday :\n",
    "    C15_C16 :\n",
    "'''\n",
    "## 建立选取特征的字典\n",
    "cols = ['C1', \n",
    "        'banner_pos', \n",
    "        'site_domain', \n",
    "        'site_id',\n",
    "        'site_category',\n",
    "        'app_id',\n",
    "        'app_category', \n",
    "        'device_type', \n",
    "        'device_conn_type',\n",
    "        'C14', \n",
    "        'date',\n",
    "       'time_period',\n",
    "       'weekday',\n",
    "       'C15_C16']\n",
    "\n",
    "cols_train = ['id', 'click']\n",
    "cols_test  = ['id']\n",
    "cols_train.extend(cols)\n",
    "cols_test.extend(cols)\n",
    "\n",
    "## 读取数据，前1M 行数据\n",
    "df_train_ini = pd.read_csv(fp_train, nrows = 10)\n",
    "df_train_org = pd.read_csv(fp_train, chunksize = 100000,iterator = True,dtype={'id':str})\n",
    "df_test_org  = pd.read_csv(fp_test,chunksize = 100000, iterator = True,dtype={'id':str})\n",
    "\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:42:11.839044Z",
     "start_time": "2019-03-12T02:41:08.118266Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "21"
      ]
     },
     "execution_count": 15,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#----- 对特征进行统计——类别型 -----#\n",
    "## 1.init_dict\n",
    "cols_counts = {}  # 所选的每个特征数量的字典\n",
    "for col in cols:\n",
    "    cols_counts[col] = df_train_ini[col].value_counts()\n",
    "\n",
    "## 2.训练集中的特征统计\n",
    "for chunk in df_train_org:\n",
    "    for col in cols:\n",
    "        cols_counts[col] = cols_counts[col].append(chunk[col].value_counts())\n",
    "\n",
    "## 3.测试集中的特征统计\n",
    "for chunk in df_test_org:\n",
    "    for col in cols:\n",
    "        cols_counts[col] = cols_counts[col].append(chunk[col].value_counts())\n",
    "        \n",
    "## 4.把统计的每个特征的数量存入高维向量，以便于dump\n",
    "for col in cols:\n",
    "    cols_counts[col] = cols_counts[col].groupby(cols_counts[col].index).sum()\n",
    "    # sort the counts\n",
    "    cols_counts[col] = cols_counts[col].sort_values(ascending=False)   \n",
    "\n",
    "## 5.存储统计的数量\n",
    "pickle.dump(cols_counts, open(fp_col_counts, 'wb'))\n",
    "\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:42:44.267220Z",
     "start_time": "2019-03-12T02:42:41.317767Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x936 with 14 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "## 6.可视化每个特征的数量分布情况\n",
    "fig = plt.figure(figsize=(12, 13))\n",
    "for i, col in enumerate(cols):\n",
    "    ax = fig.add_subplot(7,2, i+1)\n",
    "    ax.fill_between(np.arange(len(cols_counts[col])), cols_counts[col].get_values())\n",
    "    ax.set_title(col)\n",
    "    plt.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:48:18.968972Z",
     "start_time": "2019-03-12T02:42:47.216137Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "321"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#----- 把稀疏特征存成'other' -----#\n",
    "\n",
    "## 保存出现次数大于99的特征\n",
    "## 把剩余的存成'other'\n",
    "k = 99\n",
    "col_index = {}\n",
    "for col in cols:\n",
    "    col_index[col] = cols_counts[col][0: k].index\n",
    "\n",
    "df_train_org = pd.read_csv(fp_train, dtype = {'id': str}, chunksize = 100000, iterator = True)\n",
    "df_test_org  = pd.read_csv(fp_test,  dtype = {'id': str}, chunksize = 100000, iterator = True)\n",
    "\n",
    "\n",
    "## 建立新的训练集\n",
    "hd_flag = True  # add column names at 1-st row\n",
    "for chunk in df_train_org:\n",
    "    df = chunk.copy()\n",
    "    for col in cols:\n",
    "        df[col] = df[col].astype('object')\n",
    "        # assign all the rare variables as 'other'\n",
    "        df.loc[~df[col].isin(col_index[col]), col] ='other'\n",
    "    with open(fp_train_f, 'a') as f:\n",
    "         df.to_csv(f, columns = cols_train, header = hd_flag, index = False)\n",
    "    hd_flag = False\n",
    "    \n",
    "## 建立新的测试集\n",
    "hd_flag = True  # add column names at 1-st row\n",
    "for chunk in df_test_org:\n",
    "    df = chunk.copy()\n",
    "    for col in cols:\n",
    "        df[col] = df[col].astype('object')\n",
    "        # assign all the rare variables as 'other'\n",
    "        df.loc[~df[col].isin(col_index[col]), col] = 'other'\n",
    "    with open(fp_test_f, 'a') as f:\n",
    "           df.to_csv(f, columns = cols_test, header = hd_flag, index = False)      \n",
    "    hd_flag = False    \n",
    "\n",
    "gc.collect()  "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:49:25.729059Z",
     "start_time": "2019-03-12T02:49:25.579618Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "#----- 对特征进行  LabelEncoder 编码 -----#\n",
    "#----- 对类别型特征 one-hot 编码 -----#\n",
    "## 1. LabelEncoder 编码\n",
    "lb_enc = {}\n",
    "for col in cols:\n",
    "    col_index[col] = np.append(col_index[col], 'other') # 加上other这个特征\n",
    "\n",
    "for col in cols:\n",
    "    lb_enc[col] = LabelEncoder()\n",
    "    lb_enc[col].fit(col_index[col])\n",
    "    \n",
    "## 存储 label encoder\n",
    "pickle.dump(lb_enc, open(fp_lb_enc, 'wb'))\n",
    "\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:50:10.518013Z",
     "start_time": "2019-03-12T02:49:28.610189Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "266"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "## 2.one-hot encoding\n",
    "\n",
    "oh_enc = OneHotEncoder(cols)\n",
    "\n",
    "df_train_f = pd.read_csv(fp_train_f, index_col=None, chunksize=100000,iterator=True,dtype = {'id': str})\n",
    "df_test_f  = pd.read_csv(fp_test_f, index_col=None, chunksize=100000,iterator=True,dtype = {'id': str})\n",
    "\n",
    "for chunk in df_train_f:\n",
    "    oh_enc.fit(chunk)\n",
    "for chunk in df_test_f:\n",
    "    oh_enc.fit(chunk)\n",
    "    \n",
    "## 存储 one-hot encoder\n",
    "pickle.dump(oh_enc, open(fp_oh_enc, 'wb'))\n",
    "\n",
    "gc.collect()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {
    "ExecuteTime": {
     "end_time": "2019-03-12T02:50:18.919593Z",
     "start_time": "2019-03-12T02:50:13.003900Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "10000001\n",
      "9154929\n"
     ]
    }
   ],
   "source": [
    "#----- 再次对新建的训练集进行压缩，通过随机提取，建立新的子训练集 -----#\n",
    "m = sum(1 for line in open(fp_train_f)) - 1 \n",
    "n = sum(1 for line in open(fp_test_f)) - 1 \n",
    "print(m)\n",
    "print(n)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 最后得到训练集有80M 行数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "# 最后，我们希望得到一个约50万行的子训练集，主要是调参使用\n",
    "s = 1000000 # \n",
    "\n",
    "## the 0-indexed header will not be included in the skip list\n",
    "\n",
    " \n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [],
   "source": [
    "skip1 = sorted(random.sample(range(1, m+1), m-s)) \n",
    "\n",
    "df_train = pd.read_csv(fp_train_f, skiprows = skip1)\n",
    "df_train.columns = cols_train\n",
    "\n",
    "## store the sub-sampling train set as .csv\n",
    "df_train.to_csv(fp_sub_train_f, index=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [],
   "source": [
    "skip2 = sorted(random.sample(range(1, n+1), n-s)) \n",
    "\n",
    "df_test = pd.read_csv(fp_test_f, skiprows = skip2)\n",
    "df_test.columns = cols_test\n",
    "\n",
    "## store the sub-sampling train set as .csv\n",
    "df_test.to_csv(fp_sub_test_f, index=False)"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.5"
  },
  "toc": {
   "base_numbering": 1.0,
   "nav_menu": {},
   "number_sections": true,
   "sideBar": true,
   "skip_h1_title": false,
   "title_cell": "Table of Contents",
   "title_sidebar": "Contents",
   "toc_cell": false,
   "toc_position": {},
   "toc_section_display": true,
   "toc_window_display": false
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
